#ifndef _H_KEYFRAMEOBJECT_H_
#define _H_KEYFRAMEOBJECT_H_

/**
	Author : hyt
	History: 09/10/04 新增KeyFrameObject , follows Design Document
	         09/10/05 新增_variation參數用以累加變動值
			          修改update() , 加入varType判斷 , 目前完成int , int*
					  還有 double , double* , bool
		     09/10/07 新增finalupdate method , 將_pastvalue寫回WOP_Proxy
			 09/11/10 Refactoring
					 
**/


#include <string>
#include <vector>
#include "ChangeEvent.h"
#include "WOP_Entry.h"
#include "DIVA_VM.h"

class KeyFrameObj{
protected:
	int _lineNum;
	DIVA_VM* _vm;
	ChangeEvent* _evt;
public:
	KeyFrameObj();
	~KeyFrameObj();

	void generateInterpolation();
	void restart();

	virtual void recover()=0;
	virtual void render(float)=0;
	
	int getLineNumber();
	DIVA_VM* getVM();
	void setChangeEvent(ChangeEvent* evt);
};

#endif